@echo off
REM OKX Trading Robot Database Installation Script for Windows
REM 执行指定目录中的所有脚本

setlocal enabledelayedexpansion

set MYDATE=%date:~0,4%-%date:~5,2%-%date:~8,2%-%time:~0,2%-%time:~3,2%-%time:~6,2%-%date:~10,1%
set WORKDIR=%~dp0
set SQL_PATH=%WORKDIR%table
set LOG_FILE=%WORKDIR%exec_%MYDATE%.log

REM 加载环境变量
if exist "..\..\.env" (
    echo ✅ 从 .env 文件加载配置
    for /f "tokens=1,2 delims==" %%a in (..\..\.env) do (
        if not "%%a"=="" if not "%%a:~0,1%"=="#" (
            set %%a=%%b
        )
    )
) else (
    echo ⚠️  未找到 .env 文件，使用默认配置
    echo 💡 建议创建 .env 文件来配置数据库连接
)

REM 数据库配置 - 从环境变量读取，如果没有则使用默认值
if defined DB_HOST (set db_host=%DB_HOST%) else (set db_host=localhost)
if defined DB_PORT (set db_port=%DB_PORT%) else (set db_port=3306)
if defined DB_NAME (set db_name=%DB_NAME%) else (set db_name=okx_robot_db)
if defined DB_USERNAME (set db_user=%DB_USERNAME%) else (set db_user=root)
if defined DB_PASSWORD (set db_pass=%DB_PASSWORD%) else (set db_pass=admin123*)

echo 开始安装 OKX Trading Robot 数据库...

REM 创建数据库
echo 正在创建数据库...
mysql -h %db_host% -u%db_user% -p%db_pass% -P%db_port% --default-character-set=utf8 < "%WORKDIR%db_schema.sql" > error.log 2>&1

REM 检查数据库创建是否成功
if %errorlevel% equ 0 (
    echo 数据库创建成功
) else (
    echo 数据库创建失败，请检查配置
    type error.log
    exit /b 1
)

REM 创建数据表
echo 正在创建数据表，请耐心等待...
for %%f in ("%SQL_PATH%\*.sql") do (
    if exist "%%f" (
        echo 执行文件: %%f
        mysql -h %db_host% -u%db_user% -p%db_pass% -P%db_port% --default-character-set=utf8 %db_name% < "%%f" > error.log 2>&1

        echo. >> "%LOG_FILE%"
        echo ===========%%f============== >> "%LOG_FILE%"
        echo. >> "%LOG_FILE%"
        type error.log >> "%LOG_FILE%"

        findstr /i "ERROR" error.log >nul
        if !errorlevel! equ 0 (
            echo 错误:
            type error.log
            exit /b 1
        ) else (
            echo 文件 %%f 执行成功
        )
    )
)

REM 清理临时文件
if exist error.log del error.log

echo.
echo ==========================================
echo 🎉 初始化完成！
echo ==========================================
echo.
echo 📋 超级管理员账户信息:
echo    用户名: admin
echo    邮箱: admin@okx-robot.com
echo    密码: password
echo    角色: admin
echo.
echo ⚠️  重要提醒:
echo    1. 请立即修改默认密码！
echo    2. 在生产环境中使用强密码
echo    3. 定期更换密码
echo.
echo 🔗 系统配置:
echo    - 系统名称: OKX Trading Robot
echo    - 系统版本: 1.0.0
echo    - 维护模式: 关闭
echo.
echo ==========================================

echo 数据库安装完成！
echo 数据库名称: %db_name%
echo 数据库主机: %db_host%:%db_port%
echo 执行日志: %LOG_FILE%

pause
